// easy

// 给定两个有序数组nums1和nums2，将nums2合并到nums1，使nums1成为一个有序数组

// 思路：
// 两个指针index1和index2分别指向nums1和nums2的尾部，再用一个指针index指向数组nums1的尾部
// 从后往前判断当前指针下nums1[index1]和nums2[index2]的大小，将较大值存入nums[1]中
// 继续遍历，最后将nums2剩余的元素赋值到num1前面U对应位置上

function merge(nums1, nums2) {
    let index1 = nums1.length - 1
    let index2 = nums2.length - 1
    let index = nums1.length + nums2.length - 1
    while (index1 >= 0 && index2 >= 0) {
        if (nums1[index1] < nums2[index2]) {
            nums1[index] = nums2[index2]
            index2 -= 1
        } else {
            nums1[index] = nums1[index1]
            index1 -= 1
        }
        index -= 1
    }
    for (let i = 0; i <= index2; i++) {
        nums1[i] = nums2[i]        
    }
}

let arr1 = [2, 3, 5, 6]
let arr2 = [1, 4, 7]
merge(arr1, arr2)
console.log(arr1)

